package com.tledu.spring.core.likou;

import javax.swing.*;
import java.util.*;

/**
 * @author Lsj
 * @version 1.0
 * @date 2021/7/8 16:20
 */
public class SetTest {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        List<String> list1 = new ArrayList<>();
        list1.add("1");
        list1.add("5");
        list1.add("3");
        List<String> list2 = new ArrayList<>();
        list2.add("1");
        list2.add("2");
        list2.add("4");
        Set<String> result = new HashSet<>(list1);
        // 产生一个交集
        result.retainAll(list2);
        result.forEach(System.out::println);
        System.out.println("-------------------");
        List<String> list3 = new ArrayList<>();
        list3.add("6");
        list3.add("16");
        result.addAll(list3.subList(0,1));
        result.forEach(System.out::println);
        System.out.println("--------------------");
        String[] values = {"w","a","s","d"};
        HashSet<String> staff = new HashSet<>(Arrays.asList(values));
        // 从集合转换为数组无疑难一些,因为toArray返回的是一个object对象
        for (String str:
                staff.toArray(new String[staff.size()])) {
            System.out.println(str);
        }
    }

    /**
     *
     * @param menu
     * @param items
     */
    void fillMenu(JMenu menu, Collection<JMenuItem> items){
        for (JMenuItem item:
             items) {
            menu.add(item);
        }
    }

    /**
     *
     * @param menu
     * @return
     */
    List<JMenuItem> getAllItems(final JMenu menu){
        return new AbstractList<JMenuItem>(){
            @Override
            public JMenuItem get(int i){
                return menu.getItem(i);
            }
            @Override
            public int size(){
                return menu.getItemCount();
            }
        };
    }

}
